using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("QuestController")]
	public class QuestController : MonoBehaviour
	{
		public UberText m_ProgressText => method_3<UberText>("m_ProgressText");

		public NestedPrefab m_QuestProgressUIContainer => method_3<NestedPrefab>("m_QuestProgressUIContainer");

		public string m_QuestUIBoneName => method_4("m_QuestUIBoneName");

		public float m_ProgressUpdateDelay => method_2<float>("m_ProgressUpdateDelay");

		public Spell m_spell => method_3<Spell>("m_spell");

		public Actor m_actor => method_3<Actor>("m_actor");

		public Entity m_entity => method_3<Entity>("m_entity");

		public QuestProgressUI m_questProgressUI => method_3<QuestProgressUI>("m_questProgressUI");

		public bool m_questCompleted => method_2<bool>("m_questCompleted");

		public int m_currentQuestProgress => method_2<int>("m_currentQuestProgress");

		public int m_questProgressTotal => method_2<int>("m_questProgressTotal");

		public int m_targetQuestProgress => method_2<int>("m_targetQuestProgress");

		public bool m_isScalingDown => method_2<bool>("m_isScalingDown");

		public QuestController(IntPtr address, string className)
			: base(address, className)
		{
		}

		public QuestController(IntPtr address)
			: this(address, "QuestController")
		{
		}

		public static string GetRewardCardIDFromQuestCardID(string questCardID)
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "QuestController", "GetRewardCardIDFromQuestCardID", questCardID);
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void Start()
		{
			method_8("Start");
		}

		public void NotifyMousedOver()
		{
			method_8("NotifyMousedOver");
		}

		public void NotifyMousedOut()
		{
			method_8("NotifyMousedOut");
		}

		public void UpdateQuestUI()
		{
			method_8("UpdateQuestUI");
		}

		public void OnSpellEvent(string eventName, object eventData, object userData)
		{
			method_8("OnSpellEvent", eventName, eventData, userData);
		}

		public void UpdateProgressText(int currentProgress)
		{
			method_8("UpdateProgressText", currentProgress);
		}

		public void CompleteQuest()
		{
			method_8("CompleteQuest");
		}

		public Entity GetEntity()
		{
			return method_14<Entity>("GetEntity", Array.Empty<object>());
		}
	}
}
